<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:p="http://primefaces.org/ui">


    <h:outputLabel style="font-size: x-small" value="(*) Campo obligatorio"/>
    <br/>
    <br/>
    <h:panelGrid id="idpanelexamenteorico" columns="6">
        <p:outputLabel value="Fecha examen" for="idfechaexamen"/>
        <p:outputPanel>
            <p:calendar mode="popup" navigator="true" showButtonPanel="true" showOn="button" required="true"
                        requiredMessage='El campo "Fecha examen" es requerido' id="idfechaexamen" value="#{dgtController.examen.fechaexamen}"/>
            <p:watermark for="idfechaexamen" value="dd/mm/aa"/>
        </p:outputPanel>
        <p:outputLabel value="Alumno" for="idalumno"/>
        <p:outputPanel>
            <p:inputText size="40" id="idalumno" value="#{dgtController.searchParamAlumno}"/>
            <p:watermark for="idalumno" value="Digite Nif o nombre y click en el icono buscar"/>
            <p:commandButton icon="search" process="@this idalumno" update=":formgdt:idtablelistalumno :formgdt:dialog"
                             actionListener="#{dgtController.buscarListaAlumno('Teorico')}"/>
        </p:outputPanel>
        <p:outputLabel value="Permiso" for="idpermiso"/>
        <p:selectOneMenu style="width: 70px" id="idpermiso" required="true" requiredMessage='El campo "Permiso" es requerido'
                         value="#{dgtController.examen.permiso}">
            <f:selectItem itemValue="AM" itemLabel="AM"/>
            <f:selectItem itemValue="A1" itemLabel="A1"/>
            <f:selectItem itemValue="A2" itemLabel="A2"/>
            <f:selectItem itemValue="A" itemLabel="A"/>
            <f:selectItem itemValue="B" itemLabel="B"/>
            <f:selectItem itemValue="BTP" itemLabel="BTP"/>
            <f:selectItem itemValue="B+E" itemLabel="B+E"/>
            <f:selectItem itemValue="C1" itemLabel="C1"/>
            <f:selectItem itemValue="C1+E" itemLabel="C1+E"/>
            <f:selectItem itemValue="C" itemLabel="C"/>
            <f:selectItem itemValue="C+E" itemLabel="C+E"/>
            <f:selectItem itemValue="D1" itemLabel="D1"/>
            <f:selectItem itemValue="D1+E" itemLabel="D1+E"/>
            <f:selectItem itemValue="D" itemLabel="D"/>
            <f:selectItem itemValue="D+E" itemLabel="D+E"/>
            <f:selectItem itemValue="E" itemLabel="E"/>
        </p:selectOneMenu>
        <p:outputLabel value="Solicitud" for="idsolicitud"/>
        <p:inputMask maxlength="3" mask="9?9" id="idsolicitud" required="true" requiredMessage='El campo "Solicitud" es requerido'
                     value="#{dgtController.examen.solicitud}"/>
        <p:outputLabel value="Convocatoria" for="idconvocatoria"/>
        <p:inputMask maxlength="3" mask="9?9" id="idconvocatoria" required="true" requiredMessage='El campo "Convocatoria" es requerido'
                     value="#{dgtController.examen.convocatoria}"/>
        <p:outputLabel value="Estado" for="idestado"/>
        <p:selectOneMenu style="width: 213px" id="idestado" required="true" requiredMessage='El campo "Estado" es requerido'
                         value="#{dgtController.examen.estado}">
            <f:selectItem itemLabel="Activo" itemValue="Activo"/>
            <f:selectItem itemLabel="Inactivo" itemValue="Inactivo"/>
        </p:selectOneMenu>
        <p:commandButton value="Guardar" process="@this idfechaexamen idalumno idpermiso idsolicitud idconvocatoria idestado"
                         update="idpanelexamenteorico idtablaexamenteorico" actionListener='#{dgtController.saveTeorico}'/>
        <p:commandButton value="Cancelar" process="@this" actionListener="#{dgtController.init()}"/>
    </h:panelGrid>
    <p:panel header="Lista examen teorico">
        <h:outputLabel value="Desde:"/>
        <p:outputPanel>
            <p:calendar mode="popup" navigator="true" showButtonPanel="true" showOn="button" id="idfechadesde" value="#{dgtController.fechadesde}"/>
            <p:watermark for="idfechadesde" value="dd/mm/aa"/>
        </p:outputPanel>
        <h:outputLabel value="Hasta:"/>
        <p:outputPanel>
            <p:calendar mode="popup" navigator="true" showButtonPanel="true" showOn="button" id="idfechahasta" value="#{dgtController.fechahasta}"/>
            <p:watermark for="idfechahasta" value="dd/mm/aa"/>
        </p:outputPanel>
        <p:commandButton value="Buscar" process="@this idfechadesde idfechahasta" update="idtablaexamenteorico"
                         actionListener="#{dgtController.buscarListaExamen('Teorico')}"/>
        <p:commandButton process="@this"
                         immediate="true" id="teoricoDownloadLink"
                         actionListener="#{dgtController.printTeorico()}"
                         value="Imprimir" ajax="false"
                         icon="ui-icon-circle-arrow-s"
                         onclick="PrimeFaces.monitorDownload(start, stop)">
            <p:fileDownload value="#{dgtController.dc}"/>
        </p:commandButton>

        <p:dataTable id="idtablaexamenteorico" paginator="true" rows="5"
                     paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                     rowsPerPageTemplate="5,10,15" value="#{dgtController.examenList}" var="examenlistvar">
            <p:column headerText="Fecha examen">
                #{dgtController.formatFecha(examenlistvar.fechaexamen)}
            </p:column>
            <p:column headerText="Alumno">
                #{examenlistvar.alumno.nombres}
                #{examenlistvar.alumno.apellidos}
            </p:column>
            <p:column headerText="Permiso">
                #{examenlistvar.permiso}
            </p:column>
            <p:column headerText="Solicitud">
                #{examenlistvar.solicitud}
            </p:column>
            <p:column headerText="Convocatoria">
                #{examenlistvar.convocatoria}
            </p:column>
            <p:column headerText="Conv total">
                #{examenlistvar.convocatoria+examenlistvar.solicitud}
            </p:column>
            <p:column headerText="Prueba">
                #{examenlistvar.prueba}
            </p:column>
            <p:column headerText="Estado">
                #{examenlistvar.estado}
            </p:column>
            <p:column headerText="Accion">
                <p:commandButton value="Editar" actionListener="#{dgtController.selecExamen(examenlistvar.alumno, 'Teorico')}"
                                 process="@this idtablaexamenteorico" update=":formgdt:tabViewgdt:idpanelexamenteorico">
                    <f:setPropertyActionListener target="#{dgtController.examen}" value="#{examenlistvar}"/>
                </p:commandButton>
            </p:column>
        </p:dataTable>

    </p:panel>
</ui:composition>